package com.heima.service;

import com.heima.dto.pagedto.ReportPageDto;
import com.heima.vo.PageResult;
import com.heima.vo.ReportVo;
import com.heima.vo.reportvo.ActivityAndChannelNumNumVo;
import com.heima.vo.reportvo.REportVo;

import java.time.LocalDate;

public interface ReportService {

    /**
     * 客户统计
     * @param dto
     * @return
     */
    PageResult contractStatisticsList(ReportPageDto dto);

    /**
     * 线索统计
     * @param dto
     * @return
     */
    PageResult cluesStatisticsLisList(ReportPageDto dto);

    /**
     * 查询销售报表
     * @param pageNum
     * @param pageSize
     * @param begin
     * @param end
     * @return
     */
    PageResult getSalesReport(Integer pageNum, Integer pageSize, String begin, String end);

    /**
     * 客户统计可视化
     * @param beginTime
     * @param endTime
     * @return
     */
    REportVo contractStatisticsListByTime(LocalDate beginTime, LocalDate endTime);

    /**
     * 线索统计可视化
     * @param beginTime
     * @param endTime
     * @return
     */
    REportVo cluesStatisticsListListByTime(LocalDate beginTime, LocalDate endTime);

    /**
     * 活动饼图
     * @param begin
     * @param end
     * @return
     */
    ActivityAndChannelNumNumVo activityNum(LocalDate begin, LocalDate end);

    /**
     * 渠道饼图
     * @param begin
     * @param end
     * @return
     */
    ActivityAndChannelNumNumVo ChannelNum(LocalDate begin, LocalDate end);

    /**
     * 销售统计
     * @param beginTime
     * @param endTime
     * @return
     */
    REportVo salesStatisticsByTime(LocalDate beginTime, LocalDate endTime);
}
